অ্যাপাচি অ্যান্টের Exec Task একটি শক্তিশালী টাস্ক যা বাইরের কমান্ড বা স্ক্রিপ্ট চালানোর জন্য ব্যবহৃত হয়। এটি আপনাকে আপনার বিল্ড প্রক্রিয়ার মধ্যে যেকোনো external command বা script (যেমন শেল স্ক্রিপ্ট, ব্যাচ ফাইল, বা অন্যান্য প্রোগ্রাম) এক্সিকিউট করতে সক্ষম করে।
Exec Task অ্যাপাচি অ্যান্ট ব্যবহারকারীদের বাহ্যিক কমান্ড চালাতে সাহায্য করে। এটি বিল্ড স্ক্রিপ্টের মধ্যে ডেভেলপারদের কমান্ড লাইন টুলস বা স্ক্রিপ্টের কার্যকারিতা অন্তর্ভুক্ত করার সুযোগ দেয়। এটি সাধারণত তখন ব্যবহৃত হয় যখন আপনার প্রোজেক্টের কিছু অংশের জন্য বাইরের সরঞ্জাম বা স্ক্রিপ্টের প্রয়োজন হয়।
<exec executable="command">
<arg value="argument1"/>
<arg value="argument2"/>
</exec>
এখানে:
executable
অ্যাট্রিবিউটটি যে বাইরের কমান্ড বা স্ক্রিপ্ট চালানো হবে সেটির নাম নির্ধারণ করে।<arg>
ট্যাগগুলো ব্যবহার করে আপনি সেই কমান্ড বা স্ক্রিপ্টে প্যারামিটার হিসেবে আর্গুমেন্ট পাস করতে পারেন।যদি আপনি কোনো সাধারণ কমান্ড যেমন echo
চালাতে চান, তাহলে নিচের মতো টাস্ক ব্যবহার করতে পারেন:
<exec executable="echo">
<arg value="Hello, Apache Ant!"/>
</exec>
এটি "Hello, Apache Ant!" মেসেজটি কমান্ড লাইনে প্রিন্ট করবে।
আপনি যদি একটি ব্যাচ ফাইল বা শেল স্ক্রিপ্ট চালাতে চান, তাহলে নিম্নলিখিত সিনট্যাক্স ব্যবহার করতে পারেন:
<exec executable="my_script.sh"/>
এটি my_script.sh
শেল স্ক্রিপ্টটি এক্সিকিউট করবে (যদি এটি UNIX ভিত্তিক সিস্টেমে থাকে)।
একটি Java প্রোগ্রাম রান করার জন্য আপনি java
কমান্ড ব্যবহার করতে পারেন:
<exec executable="java">
<arg value="-jar"/>
<arg value="my_program.jar"/>
</exec>
এটি my_program.jar
নামক JAR ফাইলটি রান করবে।
আপনি একাধিক আর্গুমেন্টও পাস করতে পারেন:
<exec executable="javac">
<arg value="src/Main.java"/>
<arg value="-d"/>
<arg value="build/classes"/>
</exec>
এটি src/Main.java
ফাইলটি কম্পাইল করবে এবং আউটপুটটি build/classes
ডিরেক্টরিতে রাখবে।
failonerror
অ্যাট্রিবিউটfailonerror
অ্যাট্রিবিউটটি ব্যবহার করে আপনি কমান্ডের সাফল্য বা ব্যর্থতার উপর ভিত্তি করে বিল্ড থামাতে পারেন। ডিফল্টভাবে এটি true
থাকে, যা নির্দেশ করে যে কমান্ডটি ব্যর্থ হলে বিল্ড প্রক্রিয়া থেমে যাবে। উদাহরণস্বরূপ:
<exec executable="non_existent_command" failonerror="true"/>
এটি যদি non_existent_command
কমান্ডটি না পায়, তবে বিল্ড প্রক্রিয়া থামিয়ে দেবে।
output
এবং error
অ্যাট্রিবিউটআপনি output
এবং error
অ্যাট্রিবিউট ব্যবহার করে কমান্ডের আউটপুট এবং ত্রুটি লগ ফাইলগুলো ক্যাপচার করতে পারেন:
<exec executable="my_program" output="output.log" error="error.log"/>
এটি my_program
এর আউটপুট এবং ত্রুটির বার্তা যথাক্রমে output.log
এবং error.log
ফাইলে লেখাবে।
dir
অ্যাট্রিবিউটকোনও বিশেষ ডিরেক্টরি থেকে কমান্ড এক্সিকিউট করতে চাইলে dir
অ্যাট্রিবিউট ব্যবহার করতে হবে:
<exec executable="my_program" dir="path/to/dir"/>
এটি my_program
কমান্ডটি path/to/dir
ডিরেক্টরিতে রান করবে।
exec task
এর মাধ্যমে সেগুলো একীভূত করা সহজ।অ্যাপাচি অ্যান্টের exec task বাহ্যিক কমান্ড বা স্ক্রিপ্ট রান করার জন্য একটি কার্যকরী টুল, যা আপনার বিল্ড প্রক্রিয়ায় অতিরিক্ত কার্যকারিতা যোগ করতে সহায়তা করে।
common.read_more